Two-dimensional arrays of data may be visualized by mapping rows and columns of the arrays to a corresponding rectangular regions of an image, each rectangular region in the image having the same size, the pixel values within the rectangular region being indicative of the contents of the array at each element. For example, if each element of the array is either one or zero, the pixel values of each rectangular region could each assigned one of two colours, such as white and black, to indicate the value of the element of the array. To ensure that the image will fit in a display region of a display device, the size of the rectangular region is determined by, for example, dividing the width of the display region by the number of columns in the two-dimensional array to be visualized and by dividing the height of the display region by the number of rows in the two-dimensional array to be visualized.
A spreadsheet application is a computer program that allows a user to manipulate two-dimensional and three-dimensional arrays of data. A user of a spreadsheet application is presented with a two-dimensional array of cells, each cell being capable of storing an item of numeric data, text, a software object, or a formula. A three-dimensional spreadsheet has several of such arrays having a definite order. Where a cell contains a formula, the display normally shows the result of the calculation that the formula defines. The formula can include among its input variables the value of another cell within the spreadsheet or within another spreadsheet. The value of the other cell may be the result of calculation of a formula within the other cell. Such linkage between cells can be extended to an arbitrary degree of complexity. The formula can also include a hard-coded value among its input variables.
Two-dimensional arrays of data can arise in spreadsheet applications. For example, the tabular data in a spreadsheet may be considered a two-dimensional array, each element of the array corresponding to a row-column location in the spreadsheet, the element of the array containing the cell contents at that row-column location of the spreadsheet. The two-dimensional array may be indicative of some properties of cells of the spreadsheet rather than the cell contents themselves, such as whether the cell has changed relative to some previous version of the spreadsheet.
The monitoring of changes or other information in a worksheet of a spreadsheet can be displayed visually through generating and displaying an image to the user on a display device, the image showing the locations of certain information in the worksheet, such as the cells in which changes have taken place. Such an image is sometimes termed a ‘minimap’. A minimap may show where changes have been made in the worksheet of a spreadsheet. Existing systems implement this by drawing the minimap directly on the display device, scaling the minimap based on the available space on the display device. This could be the whole of the display of the display device or a portion of the display of the display device. For a worksheet-based minimap, this might be done by determining the minimum display area needed per cell and using that to calculate how much area is needed for displaying the changed cells. If the space available for display is less than that needed for displaying the changed cells, then the display area can be wrapped in a scrollable container. On a typical computer display this approach is deficient for anything more than a few hundred rows as the scrolling requirement makes it hard for a user to visualize the changes. Navigation may also be slower as the user is required to scroll to find desired areas of the minimap. Also, when highlighting a single cell on the minimap, it might not be possible to see how that change sits within the context of the whole populated area. As the number of rows and columns increases, this becomes increasingly difficult as the visible area of the minimap shows increasingly fewer rows compared to the total number of rows to be visualized.
Alternatively, the visualization of the entire populated area could be made to fit within the available display space to avoid scrolling. A scale might be adopted such as 1:10, where 1 represents a row and 10 is the number of display units such as pixels. This method is ineffective with large numbers of rows (e.g. 200 rows or more, 300 rows or more, 400 rows or more, 500 rows or more) as the available display units per row goes below 1. A typical display device might have 1080 pixels vertically in its display resolution. If only a region of the display is available for the minimap, this figure could be reduced to 500 pixels available for the minimap. For a worksheet with populated areas of 10000 rows the ratio could be 1:0.05. At such a ratio, single cells cannot practically be highlighted. In the context of spreadsheets, stray single cells are rare and often indicative of errors or key outputs so it is advantageous for the user to be able to spot any such cells, which might not be possible if the ratio is such that each pixel covers, as in this example, 20 cells.